package org.osiris.persistence.controllers;

import java.util.List;

import javax.persistence.EntityManager;

import org.osiris.persistence.Detallerequisito;
import org.osiris.persistence.controllers.exceptions.IllegalOrphanException;
import org.osiris.persistence.controllers.exceptions.NonexistentEntityException;
import org.osiris.persistence.controllers.exceptions.PreexistingEntityException;

public interface DetalleInterface {

	public abstract EntityManager getEntityManager();

	public abstract void create(Detallerequisito detallerequisito)
			throws IllegalOrphanException, PreexistingEntityException,
			Exception;

	public abstract void edit(Detallerequisito detallerequisito)
			throws IllegalOrphanException, NonexistentEntityException,
			Exception;

	public abstract void destroy(Long id) throws NonexistentEntityException;

	public abstract List<Detallerequisito> findDetallerequisitoEntities();

	public abstract List<Detallerequisito> findDetallerequisitoEntities(
			int maxResults, int firstResult);

	public abstract Detallerequisito findDetallerequisito(Long id);

	public abstract int getDetallerequisitoCount();

}